package com.smart.model.dtomapper;

import com.smart.model.domain.ProjectTempTaskDO;
import com.smart.model.request.ProjectTempTaskAddRequest;
import com.smart.model.request.ProjectTempTaskRequest;
import com.smart.model.request.ProjectTempTaskUpdateRequest;
import com.smart.model.vo.ProjectTempTaskVO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

/**
 * @author zhanghong
 */
@Mapper(componentModel = "spring")
public interface ProjectTempTaskDtoMapper {

    ProjectTempTaskDtoMapper INSTANCE = Mappers.getMapper(ProjectTempTaskDtoMapper.class);

    /**
    * DO to VO
    * @param projectTempTaskDO
    * @return
    */
    ProjectTempTaskVO do2VO(ProjectTempTaskDO projectTempTaskDO);

    /**
     * request to DO
     * @param request
     * @return
     */
    ProjectTempTaskDO request2DO(ProjectTempTaskRequest request);

    /**
     * request to DO
     * @param request
     * @return
     */
    ProjectTempTaskDO request2DO(ProjectTempTaskAddRequest request);

    /**
     * request to DO
     * @param request
     * @return
     */
    ProjectTempTaskDO request2DO(ProjectTempTaskUpdateRequest request);
}
